package com.gpframework.module.ctn.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @ClassName GpReceiptGoodsVo
 * @Author gpframework
 * @Date 2024-01-08
 * @Version 1.0.0
 * @Description 录入订单Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpReceiptGoodsExcel {

    private Long id;

    /** 进仓日期 */
    @Excel(name = "进仓日期", dateFormat = "yyyy/MM/dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiptDate;

    /** 进仓单号 */
    @Excel(name = "进仓单号")
    private String receiptNo;


    /** 供应商名称 */
    @Excel(name = "供应商")
    private String supplier;

    /** 供应商号码 */
    @Excel(name = "供应商号码")
    private String supplierTel;

    /** 客户名 */
    @Excel(name = "客户名")
    private String customer;

    /** 客户电话号码 */
    @Excel(name = "客户号码")
    private String customerTel;

    /** 货物描述 */
    @Excel(name = "货物描述")
    private String goodsDescription;

    /** 入仓件数 */
    @Excel(name = "入仓总数量")
    private String warehousedNum;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 总箱数 */
    @Excel(name = "总箱数")
    private String packTotal;

    /** 打包日期 */
    @Excel(name = "打包日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date packDate;

    /** 打包件数 */
    @Excel(name = "打包数量")
    private String packagesNum;

    /** 包号 */
    @Excel(name = "包号")
    private String packNo;

    /** 打包重量（KG） */
    @Excel(name = "打包重量（KG）")
    private BigDecimal packWeight;

    /** 方cbm */
    @Excel(name = "CBM")
    private String cbm;

    /** 走柜日 */
    @Excel(name = "走柜日",  dateFormat = "yyyy/MM/dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date loadedDate;


    /** 备注 */
    @Excel(name = "备注")
    private String remarks;


    /** 打包仓库 */
    @Excel(name = "打包仓库")
    private String packWarehouse;


    /** 清关公司电话 */
    @Excel(name = "清关公司电话")
    private String agentCompanyTel;


    /** 清关公司名称 */
    @Excel(name = "清关公司名称")
    private String agentCompany;

    /** 目的港 */
    @Excel(name = "目的港")
    private String destination;




    /**
     * 下标
     */
    @ApiModelProperty("下标")
    private int subscript;

    /**
     * 导入提示
     */
    @ApiModelProperty("导入提示")
    private String msg;

    public static List<GpReceiptGoodsExcel> list() {
        List<GpReceiptGoodsExcel> list = new ArrayList<>();
        list.add(new GpReceiptGoodsExcel());
        return list;
    }
}
